<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>global [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_control.html">Control</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div data-if="dotnet" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="cpp" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="c" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="python" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="hdevelop" style="display:inline">
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">global</span><span data-if="c" style="display:none;">global</span><span data-if="cpp" style="display:none;">Global</span><span data-if="dotnet" style="display:none;">Global</span><span data-if="python" style="display:none;">global</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">global</span><span data-if="c" style="display:none;">global</span><span data-if="cpp" style="display:none;">Global</span><span data-if="dotnet" style="display:none;">Global</span><span data-if="python" style="display:none;">global</span></code> — Declare a global variable.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>global</b>( :  : <a href="#Declaration"><i>Declaration</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>global</b>(const char* <a href="#Declaration"><i>Declaration</i></a>)</code></p>
<p>
<code>Herror <b>T_global</b>(const Htuple <a href="#Declaration"><i>Declaration</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>Global</b>(const HTuple&amp; <a href="#Declaration"><i>Declaration</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>Global</b>(<a href="HTuple.html">HTuple</a> <a href="#Declaration"><i>declaration</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>global</b>(<a href="#Declaration"><i>declaration</i></a>: str) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>The <code><span data-if="hdevelop" style="display:inline">global</span><span data-if="c" style="display:none">global</span><span data-if="cpp" style="display:none">Global</span><span data-if="com" style="display:none">Global</span><span data-if="dotnet" style="display:none">Global</span><span data-if="python" style="display:none">global</span></code> statement can be used to declare a global variable.
By declaring a variable as global the variable becomes visible to all other
procedures that also declare the same variable explicitly as global.
</p>
<p>If a variable is not explicitly declared as
global inside a procedure, the variable is local within that procedure
even if there is a global variable with the same name.
</p>
<p>The parameter <a href="#Declaration"><i><code><span data-if="hdevelop" style="display:inline">Declaration</span><span data-if="c" style="display:none">Declaration</span><span data-if="cpp" style="display:none">Declaration</span><span data-if="com" style="display:none">Declaration</span><span data-if="dotnet" style="display:none">declaration</span><span data-if="python" style="display:none">declaration</span></code></i></a> contains the variable declaration
that consists of the optional keyword <i><span data-if="hdevelop" style="display:inline">'def'</span><span data-if="c" style="display:none">"def"</span><span data-if="cpp" style="display:none">"def"</span><span data-if="com" style="display:none">"def"</span><span data-if="dotnet" style="display:none">"def"</span><span data-if="python" style="display:none">"def"</span></i>, the type <i><span data-if="hdevelop" style="display:inline">'object'</span><span data-if="c" style="display:none">"object"</span><span data-if="cpp" style="display:none">"object"</span><span data-if="com" style="display:none">"object"</span><span data-if="dotnet" style="display:none">"object"</span><span data-if="python" style="display:none">"object"</span></i>
or <i><span data-if="hdevelop" style="display:inline">'tuple'</span><span data-if="c" style="display:none">"tuple"</span><span data-if="cpp" style="display:none">"tuple"</span><span data-if="com" style="display:none">"tuple"</span><span data-if="dotnet" style="display:none">"tuple"</span><span data-if="python" style="display:none">"tuple"</span></i>, the optional keyword <i><span data-if="hdevelop" style="display:inline">'vector'</span><span data-if="c" style="display:none">"vector"</span><span data-if="cpp" style="display:none">"vector"</span><span data-if="com" style="display:none">"vector"</span><span data-if="dotnet" style="display:none">"vector"</span><span data-if="python" style="display:none">"vector"</span></i> (followed by the
desired dimension in round brackets), and the variable name.
</p>
<p>Setting the type to <i><span data-if="hdevelop" style="display:inline">'object'</span><span data-if="c" style="display:none">"object"</span><span data-if="cpp" style="display:none">"object"</span><span data-if="com" style="display:none">"object"</span><span data-if="dotnet" style="display:none">"object"</span><span data-if="python" style="display:none">"object"</span></i> an iconic variable is declared, by
setting it to <i><span data-if="hdevelop" style="display:inline">'tuple'</span><span data-if="c" style="display:none">"tuple"</span><span data-if="cpp" style="display:none">"tuple"</span><span data-if="com" style="display:none">"tuple"</span><span data-if="dotnet" style="display:none">"tuple"</span><span data-if="python" style="display:none">"tuple"</span></i> a control variable is declared.
</p>
<p>The keyword <i><span data-if="hdevelop" style="display:inline">'def'</span><span data-if="c" style="display:none">"def"</span><span data-if="cpp" style="display:none">"def"</span><span data-if="com" style="display:none">"def"</span><span data-if="dotnet" style="display:none">"def"</span><span data-if="python" style="display:none">"def"</span></i> allows to mark one declaration explicitly as the
place where the variable is defined.
In most cases this will not be necessary because in HDevelop the variable
instance is created as soon as it is declared somewhere.
However, if several procedures are exported to a programming language and if
the procedures are not exported into one output file that contains all
procedures together but into separate output files it will become necessary
to mark one of the global variable declarations
as the place where the variable is defined.
A set of procedure export files that are linked to one library
or application must contain exactly one definition of each global variable
in order to avoid both undefined symbols and multiple definitions.
</p>
<p>In the program listing, global variable declarations are displayed and must
be entered without parenthesis in order to emphasize that the line is a
declaration and not an executable operator.  The syntax is as follows:
</p>
<p><span class="pre">
global [def] {object|tuple} [vector(&lt;Dimension&gt;)] &lt;Variable Name&gt;
</span>
</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Declaration" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Declaration</span><span data-if="c" style="display:none">Declaration</span><span data-if="cpp" style="display:none">Declaration</span><span data-if="com" style="display:none">Declaration</span><span data-if="dotnet" style="display:none">declaration</span><span data-if="python" style="display:none">declaration</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Global variable declaration: optional keyword <i><span data-if="hdevelop" style="display:inline">'def'</span><span data-if="c" style="display:none">"def"</span><span data-if="cpp" style="display:none">"def"</span><span data-if="com" style="display:none">"def"</span><span data-if="dotnet" style="display:none">"def"</span><span data-if="python" style="display:none">"def"</span></i>,
type, and variable name</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span><span data-if="hdevelop" style="display:inline">'object'</span><span data-if="c" style="display:none">"object"</span><span data-if="cpp" style="display:none">"object"</span><span data-if="com" style="display:none">"object"</span><span data-if="dotnet" style="display:none">"object"</span><span data-if="python" style="display:none">"object"</span>, <span data-if="hdevelop" style="display:inline">'tuple'</span><span data-if="c" style="display:none">"tuple"</span><span data-if="cpp" style="display:none">"tuple"</span><span data-if="com" style="display:none">"tuple"</span><span data-if="dotnet" style="display:none">"tuple"</span><span data-if="python" style="display:none">"tuple"</span>, <span data-if="hdevelop" style="display:inline">'def object'</span><span data-if="c" style="display:none">"def object"</span><span data-if="cpp" style="display:none">"def object"</span><span data-if="com" style="display:none">"def object"</span><span data-if="dotnet" style="display:none">"def object"</span><span data-if="python" style="display:none">"def object"</span>, <span data-if="hdevelop" style="display:inline">'def tuple'</span><span data-if="c" style="display:none">"def tuple"</span><span data-if="cpp" style="display:none">"def tuple"</span><span data-if="com" style="display:none">"def tuple"</span><span data-if="dotnet" style="display:none">"def tuple"</span><span data-if="python" style="display:none">"def tuple"</span>, <span data-if="hdevelop" style="display:inline">'object vector(1)'</span><span data-if="c" style="display:none">"object vector(1)"</span><span data-if="cpp" style="display:none">"object vector(1)"</span><span data-if="com" style="display:none">"object vector(1)"</span><span data-if="dotnet" style="display:none">"object vector(1)"</span><span data-if="python" style="display:none">"object vector(1)"</span>, <span data-if="hdevelop" style="display:inline">'tuple vector(1)'</span><span data-if="c" style="display:none">"tuple vector(1)"</span><span data-if="cpp" style="display:none">"tuple vector(1)"</span><span data-if="com" style="display:none">"tuple vector(1)"</span><span data-if="dotnet" style="display:none">"tuple vector(1)"</span><span data-if="python" style="display:none">"tuple vector(1)"</span>, <span data-if="hdevelop" style="display:inline">'def object vector(1)'</span><span data-if="c" style="display:none">"def object vector(1)"</span><span data-if="cpp" style="display:none">"def object vector(1)"</span><span data-if="com" style="display:none">"def object vector(1)"</span><span data-if="dotnet" style="display:none">"def object vector(1)"</span><span data-if="python" style="display:none">"def object vector(1)"</span>, <span data-if="hdevelop" style="display:inline">'def tuple vector(1)'</span><span data-if="c" style="display:none">"def tuple vector(1)"</span><span data-if="cpp" style="display:none">"def tuple vector(1)"</span><span data-if="com" style="display:none">"def tuple vector(1)"</span><span data-if="dotnet" style="display:none">"def tuple vector(1)"</span><span data-if="python" style="display:none">"def tuple vector(1)"</span></p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">global</span><span data-if="c" style="display:none">global</span><span data-if="cpp" style="display:none">Global</span><span data-if="com" style="display:none">Global</span><span data-if="dotnet" style="display:none">Global</span><span data-if="python" style="display:none">global</span></code> is never executed.
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
</div>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
